\contentsline {chapter}{\numberline {1}Data Structure Index}{1}{chapter.1}
\contentsline {section}{\numberline {1.1}Data Structures}{1}{section.1.1}
\contentsline {chapter}{\numberline {2}File Index}{3}{chapter.2}
\contentsline {section}{\numberline {2.1}File List}{3}{section.2.1}
\contentsline {chapter}{\numberline {3}Data Structure Documentation}{5}{chapter.3}
\contentsline {section}{\numberline {3.1}msg\_\discretionary {-}{}{}struct Struct Reference}{5}{section.3.1}
\contentsline {subsection}{\numberline {3.1.1}Detailed Description}{5}{subsection.3.1.1}
\contentsline {subsection}{\numberline {3.1.2}Field Documentation}{5}{subsection.3.1.2}
\contentsline {subsubsection}{\numberline {3.1.2.1}\setlength {\rightskip }{0pt plus 5cm}char {\bf msg\_\discretionary {-}{}{}struct::emetteur}\unhbox \voidb@x \hbox {[}32\unhbox \voidb@x \hbox {]}}{5}{subsubsection.3.1.2.1}
\contentsline {subsubsection}{\numberline {3.1.2.2}\setlength {\rightskip }{0pt plus 5cm}char {\bf msg\_\discretionary {-}{}{}struct::type}\unhbox \voidb@x \hbox {[}11\unhbox \voidb@x \hbox {]}}{5}{subsubsection.3.1.2.2}
\contentsline {subsubsection}{\numberline {3.1.2.3}\setlength {\rightskip }{0pt plus 5cm}char {\bf msg\_\discretionary {-}{}{}struct::action}\unhbox \voidb@x \hbox {[}20\unhbox \voidb@x \hbox {]}}{6}{subsubsection.3.1.2.3}
\contentsline {subsubsection}{\numberline {3.1.2.4}\setlength {\rightskip }{0pt plus 5cm}char {\bf msg\_\discretionary {-}{}{}struct::valeur}\unhbox \voidb@x \hbox {[}5\unhbox \voidb@x \hbox {]}}{6}{subsubsection.3.1.2.4}
\contentsline {section}{\numberline {3.2}server\_\discretionary {-}{}{}struct Struct Reference}{7}{section.3.2}
\contentsline {subsection}{\numberline {3.2.1}Detailed Description}{7}{subsection.3.2.1}
\contentsline {subsection}{\numberline {3.2.2}Field Documentation}{7}{subsection.3.2.2}
\contentsline {subsubsection}{\numberline {3.2.2.1}\setlength {\rightskip }{0pt plus 5cm}int {\bf server\_\discretionary {-}{}{}struct::id}}{7}{subsubsection.3.2.2.1}
\contentsline {subsubsection}{\numberline {3.2.2.2}\setlength {\rightskip }{0pt plus 5cm}char {\bf server\_\discretionary {-}{}{}struct::name}\unhbox \voidb@x \hbox {[}128\unhbox \voidb@x \hbox {]}}{7}{subsubsection.3.2.2.2}
\contentsline {subsubsection}{\numberline {3.2.2.3}\setlength {\rightskip }{0pt plus 5cm}int {\bf server\_\discretionary {-}{}{}struct::sockfd}}{7}{subsubsection.3.2.2.3}
\contentsline {subsubsection}{\numberline {3.2.2.4}\setlength {\rightskip }{0pt plus 5cm}int {\bf server\_\discretionary {-}{}{}struct::my\_\discretionary {-}{}{}port}}{7}{subsubsection.3.2.2.4}
\contentsline {subsubsection}{\numberline {3.2.2.5}\setlength {\rightskip }{0pt plus 5cm}int {\bf server\_\discretionary {-}{}{}struct::max\_\discretionary {-}{}{}conn}}{7}{subsubsection.3.2.2.5}
\contentsline {subsubsection}{\numberline {3.2.2.6}\setlength {\rightskip }{0pt plus 5cm}int {\bf server\_\discretionary {-}{}{}struct::numbytes}}{8}{subsubsection.3.2.2.6}
\contentsline {subsubsection}{\numberline {3.2.2.7}\setlength {\rightskip }{0pt plus 5cm}socklen\_\discretionary {-}{}{}t {\bf server\_\discretionary {-}{}{}struct::sin\_\discretionary {-}{}{}size}}{8}{subsubsection.3.2.2.7}
\contentsline {subsubsection}{\numberline {3.2.2.8}\setlength {\rightskip }{0pt plus 5cm}struct sockaddr\_\discretionary {-}{}{}in {\bf server\_\discretionary {-}{}{}struct::local\_\discretionary {-}{}{}addr}\hspace {0.3cm}{\tt \unhbox \voidb@x \hbox {[}read\unhbox \voidb@x \hbox {]}}}{8}{subsubsection.3.2.2.8}
\contentsline {subsubsection}{\numberline {3.2.2.9}\setlength {\rightskip }{0pt plus 5cm}struct sockaddr\_\discretionary {-}{}{}in {\bf server\_\discretionary {-}{}{}struct::remote\_\discretionary {-}{}{}addr}\hspace {0.3cm}{\tt \unhbox \voidb@x \hbox {[}read\unhbox \voidb@x \hbox {]}}}{8}{subsubsection.3.2.2.9}
\contentsline {subsubsection}{\numberline {3.2.2.10}\setlength {\rightskip }{0pt plus 5cm}char {\bf server\_\discretionary {-}{}{}struct::recvdata}\unhbox \voidb@x \hbox {[}MAXRECVDATA\unhbox \voidb@x \hbox {]}}{8}{subsubsection.3.2.2.10}
\contentsline {chapter}{\numberline {4}File Documentation}{9}{chapter.4}
\contentsline {section}{\numberline {4.1}/home/noxon/coding/C/esiee-in301/casual\_\discretionary {-}{}{}includes.h File Reference}{9}{section.4.1}
\contentsline {section}{\numberline {4.2}/home/noxon/coding/C/esiee-in301/execution.h File Reference}{10}{section.4.2}
\contentsline {subsection}{\numberline {4.2.1}Function Documentation}{10}{subsection.4.2.1}
\contentsline {subsubsection}{\numberline {4.2.1.1}\setlength {\rightskip }{0pt plus 5cm}void received\_\discretionary {-}{}{}order (FILE $\ast $)}{10}{subsubsection.4.2.1.1}
\contentsline {section}{\numberline {4.3}/home/noxon/coding/C/esiee-in301/libbourse/alea.c File Reference}{11}{section.4.3}
\contentsline {subsection}{\numberline {4.3.1}Function Documentation}{11}{subsection.4.3.1}
\contentsline {subsubsection}{\numberline {4.3.1.1}\setlength {\rightskip }{0pt plus 5cm}int alea (int {\em min}, \/ int {\em max})}{11}{subsubsection.4.3.1.1}
\contentsline {subsubsection}{\numberline {4.3.1.2}\setlength {\rightskip }{0pt plus 5cm}void aleainit ()}{11}{subsubsection.4.3.1.2}
\contentsline {section}{\numberline {4.4}/home/noxon/coding/C/esiee-in301/libbourse/alea.h File Reference}{12}{section.4.4}
\contentsline {subsection}{\numberline {4.4.1}Function Documentation}{12}{subsection.4.4.1}
\contentsline {subsubsection}{\numberline {4.4.1.1}\setlength {\rightskip }{0pt plus 5cm}int alea (int {\em min}, \/ int {\em max})}{12}{subsubsection.4.4.1.1}
\contentsline {subsubsection}{\numberline {4.4.1.2}\setlength {\rightskip }{0pt plus 5cm}void aleainit ()}{12}{subsubsection.4.4.1.2}
\contentsline {section}{\numberline {4.5}/home/noxon/coding/C/esiee-in301/libbourse/PrixAchatVente.c File Reference}{13}{section.4.5}
\contentsline {subsection}{\numberline {4.5.1}Function Documentation}{13}{subsection.4.5.1}
\contentsline {subsubsection}{\numberline {4.5.1.1}\setlength {\rightskip }{0pt plus 5cm}double PrixAchat (double {\em VInit}, \/ int {\em Stock}, \/ int {\em Qte})}{13}{subsubsection.4.5.1.1}
\contentsline {subsubsection}{\numberline {4.5.1.2}\setlength {\rightskip }{0pt plus 5cm}double PrixVente (double {\em VInit}, \/ int {\em Stock}, \/ int {\em Qte})}{13}{subsubsection.4.5.1.2}
\contentsline {section}{\numberline {4.6}/home/noxon/coding/C/esiee-in301/libbourse/PrixAchatVente.h File Reference}{14}{section.4.6}
\contentsline {subsection}{\numberline {4.6.1}Function Documentation}{14}{subsection.4.6.1}
\contentsline {subsubsection}{\numberline {4.6.1.1}\setlength {\rightskip }{0pt plus 5cm}double PrixAchat (double {\em VInit}, \/ int {\em Stock}, \/ int {\em Qte})}{14}{subsubsection.4.6.1.1}
\contentsline {subsubsection}{\numberline {4.6.1.2}\setlength {\rightskip }{0pt plus 5cm}double PrixVente (double {\em VInit}, \/ int {\em Stock}, \/ int {\em Qte})}{14}{subsubsection.4.6.1.2}
\contentsline {section}{\numberline {4.7}/home/noxon/coding/C/esiee-in301/libcomm/communication.c File Reference}{15}{section.4.7}
\contentsline {subsection}{\numberline {4.7.1}Function Documentation}{15}{subsection.4.7.1}
\contentsline {subsubsection}{\numberline {4.7.1.1}\setlength {\rightskip }{0pt plus 5cm}void init\_\discretionary {-}{}{}servers ({\bf server} $\ast $ {\em servers}, \/ const int {\em nb\_\discretionary {-}{}{}serv}, \/ int {\em port\_\discretionary {-}{}{}start}, \/ const int {\em max\_\discretionary {-}{}{}connexions})}{15}{subsubsection.4.7.1.1}
\contentsline {section}{\numberline {4.8}/home/noxon/coding/C/esiee-in301/libcomm/communication.h File Reference}{16}{section.4.8}
\contentsline {subsection}{\numberline {4.8.1}Define Documentation}{16}{subsection.4.8.1}
\contentsline {subsubsection}{\numberline {4.8.1.1}\setlength {\rightskip }{0pt plus 5cm}\#define MAXRECVDATA\nobreakspace {}1024}{16}{subsubsection.4.8.1.1}
\contentsline {subsection}{\numberline {4.8.2}Typedef Documentation}{17}{subsection.4.8.2}
\contentsline {subsubsection}{\numberline {4.8.2.1}\setlength {\rightskip }{0pt plus 5cm}typedef struct {\bf server\_\discretionary {-}{}{}struct} {\bf server}}{17}{subsubsection.4.8.2.1}
\contentsline {subsection}{\numberline {4.8.3}Function Documentation}{17}{subsection.4.8.3}
\contentsline {subsubsection}{\numberline {4.8.3.1}\setlength {\rightskip }{0pt plus 5cm}void envoi (const char $\ast $ {\em message}, \/ const void $\ast $ {\em id})}{17}{subsubsection.4.8.3.1}
\contentsline {subsubsection}{\numberline {4.8.3.2}\setlength {\rightskip }{0pt plus 5cm}int init\_\discretionary {-}{}{}clients ()}{17}{subsubsection.4.8.3.2}
\contentsline {subsubsection}{\numberline {4.8.3.3}\setlength {\rightskip }{0pt plus 5cm}void init\_\discretionary {-}{}{}servers ({\bf server} $\ast $ {\em servers}, \/ const int {\em nb\_\discretionary {-}{}{}serv}, \/ int {\em port\_\discretionary {-}{}{}start}, \/ const int {\em max\_\discretionary {-}{}{}connexions})}{17}{subsubsection.4.8.3.3}
\contentsline {subsubsection}{\numberline {4.8.3.4}\setlength {\rightskip }{0pt plus 5cm}char$\ast $ recoit ()}{17}{subsubsection.4.8.3.4}
\contentsline {section}{\numberline {4.9}/home/noxon/coding/C/esiee-in301/libcomm/logger.c File Reference}{18}{section.4.9}
\contentsline {subsection}{\numberline {4.9.1}Function Documentation}{18}{subsection.4.9.1}
\contentsline {subsubsection}{\numberline {4.9.1.1}\setlength {\rightskip }{0pt plus 5cm}int init\_\discretionary {-}{}{}log (const char $\ast $ {\em filename})}{18}{subsubsection.4.9.1.1}
\contentsline {subsubsection}{\numberline {4.9.1.2}\setlength {\rightskip }{0pt plus 5cm}void log\_\discretionary {-}{}{}call (const char $\ast $ {\em msg}, \/ char $\ast $ {\em func\_\discretionary {-}{}{}name}, \/ const char $\ast $ {\em args}, \/ {\em ...})}{18}{subsubsection.4.9.1.2}
\contentsline {subsubsection}{\numberline {4.9.1.3}\setlength {\rightskip }{0pt plus 5cm}void log\_\discretionary {-}{}{}smth (const char $\ast $ {\em msg}, \/ {\em ...})}{19}{subsubsection.4.9.1.3}
\contentsline {subsubsection}{\numberline {4.9.1.4}\setlength {\rightskip }{0pt plus 5cm}void private\_\discretionary {-}{}{}log\_\discretionary {-}{}{}call (const char $\ast $ {\em msg}, \/ const char $\ast $ {\em func\_\discretionary {-}{}{}name}, \/ va\_\discretionary {-}{}{}list {\em args})}{19}{subsubsection.4.9.1.4}
\contentsline {subsubsection}{\numberline {4.9.1.5}\setlength {\rightskip }{0pt plus 5cm}void private\_\discretionary {-}{}{}write\_\discretionary {-}{}{}log (int {\em log\_\discretionary {-}{}{}type}, \/ const char $\ast $ {\em msg})}{20}{subsubsection.4.9.1.5}
\contentsline {subsection}{\numberline {4.9.2}Variable Documentation}{20}{subsection.4.9.2}
\contentsline {subsubsection}{\numberline {4.9.2.1}\setlength {\rightskip }{0pt plus 5cm}char$\ast $ {\bf filename} = NULL}{20}{subsubsection.4.9.2.1}
\contentsline {section}{\numberline {4.10}/home/noxon/coding/C/esiee-in301/libcomm/logger.h File Reference}{21}{section.4.10}
\contentsline {subsection}{\numberline {4.10.1}Detailed Description}{21}{subsection.4.10.1}
\contentsline {subsection}{\numberline {4.10.2}Enumeration Type Documentation}{21}{subsection.4.10.2}
\contentsline {subsubsection}{\numberline {4.10.2.1}\setlength {\rightskip }{0pt plus 5cm}enum {\bf LOG\_\discretionary {-}{}{}TYPES}}{21}{subsubsection.4.10.2.1}
\contentsline {subsection}{\numberline {4.10.3}Function Documentation}{21}{subsection.4.10.3}
\contentsline {subsubsection}{\numberline {4.10.3.1}\setlength {\rightskip }{0pt plus 5cm}int init\_\discretionary {-}{}{}log (const char $\ast $ {\em filename})}{21}{subsubsection.4.10.3.1}
\contentsline {subsubsection}{\numberline {4.10.3.2}\setlength {\rightskip }{0pt plus 5cm}void log\_\discretionary {-}{}{}call (const char $\ast $ {\em msg}, \/ char $\ast $ {\em func\_\discretionary {-}{}{}name}, \/ const char $\ast $ {\em args}, \/ {\em ...})}{22}{subsubsection.4.10.3.2}
\contentsline {subsubsection}{\numberline {4.10.3.3}\setlength {\rightskip }{0pt plus 5cm}void log\_\discretionary {-}{}{}smth (const char $\ast $ {\em msg}, \/ {\em ...})}{22}{subsubsection.4.10.3.3}
\contentsline {subsubsection}{\numberline {4.10.3.4}\setlength {\rightskip }{0pt plus 5cm}void private\_\discretionary {-}{}{}log\_\discretionary {-}{}{}call (const char $\ast $ {\em msg}, \/ const char $\ast $ {\em func\_\discretionary {-}{}{}name}, \/ va\_\discretionary {-}{}{}list {\em args})}{23}{subsubsection.4.10.3.4}
\contentsline {subsubsection}{\numberline {4.10.3.5}\setlength {\rightskip }{0pt plus 5cm}void private\_\discretionary {-}{}{}write\_\discretionary {-}{}{}log (int {\em log\_\discretionary {-}{}{}type}, \/ const char $\ast $ {\em msg})}{23}{subsubsection.4.10.3.5}
\contentsline {section}{\numberline {4.11}/home/noxon/coding/C/esiee-in301/libcomm/message.c File Reference}{24}{section.4.11}
\contentsline {subsection}{\numberline {4.11.1}Function Documentation}{24}{subsection.4.11.1}
\contentsline {subsubsection}{\numberline {4.11.1.1}\setlength {\rightskip }{0pt plus 5cm}{\bf msg}$\ast $ create\_\discretionary {-}{}{}msg (const char $\ast $ {\em emetteur}, \/ const char $\ast $ {\em type}, \/ const char $\ast $ {\em action}, \/ const char $\ast $ {\em valeur})}{24}{subsubsection.4.11.1.1}
\contentsline {subsubsection}{\numberline {4.11.1.2}\setlength {\rightskip }{0pt plus 5cm}int decoupe (char $\ast $ {\em message}, \/ char $\ast $ {\em emeteur}, \/ char $\ast $ {\em type}, \/ char $\ast $ {\em action}, \/ char $\ast $ {\em valeur})}{24}{subsubsection.4.11.1.2}
\contentsline {subsubsection}{\numberline {4.11.1.3}\setlength {\rightskip }{0pt plus 5cm}void log\_\discretionary {-}{}{}msg (const char $\ast $ {\em un\_\discretionary {-}{}{}msg}, \/ {\bf msg} $\ast $ {\em damsg})}{25}{subsubsection.4.11.1.3}
\contentsline {subsubsection}{\numberline {4.11.1.4}\setlength {\rightskip }{0pt plus 5cm}char$\ast $ message (char $\ast $ {\em emeteur}, \/ char $\ast $ {\em type}, \/ char $\ast $ {\em action}, \/ char $\ast $ {\em valeur})}{25}{subsubsection.4.11.1.4}
\contentsline {subsubsection}{\numberline {4.11.1.5}\setlength {\rightskip }{0pt plus 5cm}char$\ast $ msg\_\discretionary {-}{}{}to\_\discretionary {-}{}{}str ({\bf msg} $\ast $ {\em msg})}{25}{subsubsection.4.11.1.5}
\contentsline {subsubsection}{\numberline {4.11.1.6}\setlength {\rightskip }{0pt plus 5cm}{\bf msg}$\ast $ str\_\discretionary {-}{}{}to\_\discretionary {-}{}{}msg (char $\ast $ {\em str})}{26}{subsubsection.4.11.1.6}
\contentsline {section}{\numberline {4.12}/home/noxon/coding/C/esiee-in301/libcomm/message.h File Reference}{27}{section.4.12}
\contentsline {subsection}{\numberline {4.12.1}Typedef Documentation}{27}{subsection.4.12.1}
\contentsline {subsubsection}{\numberline {4.12.1.1}\setlength {\rightskip }{0pt plus 5cm}typedef struct {\bf msg\_\discretionary {-}{}{}struct} {\bf msg}}{27}{subsubsection.4.12.1.1}
\contentsline {subsection}{\numberline {4.12.2}Function Documentation}{27}{subsection.4.12.2}
\contentsline {subsubsection}{\numberline {4.12.2.1}\setlength {\rightskip }{0pt plus 5cm}{\bf msg}$\ast $ create\_\discretionary {-}{}{}msg (const char $\ast $ {\em emetteur}, \/ const char $\ast $ {\em type}, \/ const char $\ast $ {\em action}, \/ const char $\ast $ {\em valeur})}{27}{subsubsection.4.12.2.1}
\contentsline {subsubsection}{\numberline {4.12.2.2}\setlength {\rightskip }{0pt plus 5cm}int decoupe (char $\ast $ {\em message}, \/ char $\ast $ {\em emeteur}, \/ char $\ast $ {\em type}, \/ char $\ast $ {\em action}, \/ char $\ast $ {\em valeur})}{28}{subsubsection.4.12.2.2}
\contentsline {subsubsection}{\numberline {4.12.2.3}\setlength {\rightskip }{0pt plus 5cm}void log\_\discretionary {-}{}{}msg (const char $\ast $ {\em un\_\discretionary {-}{}{}msg}, \/ {\bf msg} $\ast $ {\em damsg})}{28}{subsubsection.4.12.2.3}
\contentsline {subsubsection}{\numberline {4.12.2.4}\setlength {\rightskip }{0pt plus 5cm}char$\ast $ message (char $\ast $ {\em emeteur}, \/ char $\ast $ {\em type}, \/ char $\ast $ {\em action}, \/ char $\ast $ {\em valeur})}{28}{subsubsection.4.12.2.4}
\contentsline {subsubsection}{\numberline {4.12.2.5}\setlength {\rightskip }{0pt plus 5cm}char$\ast $ msg\_\discretionary {-}{}{}to\_\discretionary {-}{}{}str ({\bf msg} $\ast $ {\em msg})}{29}{subsubsection.4.12.2.5}
\contentsline {subsubsection}{\numberline {4.12.2.6}\setlength {\rightskip }{0pt plus 5cm}{\bf msg}$\ast $ str\_\discretionary {-}{}{}to\_\discretionary {-}{}{}msg (char $\ast $ {\em str})}{29}{subsubsection.4.12.2.6}
\contentsline {section}{\numberline {4.13}/home/noxon/coding/C/esiee-in301/terminal.c File Reference}{30}{section.4.13}
\contentsline {subsection}{\numberline {4.13.1}Function Documentation}{30}{subsection.4.13.1}
\contentsline {subsubsection}{\numberline {4.13.1.1}\setlength {\rightskip }{0pt plus 5cm}void envoie\_\discretionary {-}{}{}ordre (FILE $\ast $ {\em out})}{30}{subsubsection.4.13.1.1}
\contentsline {subsubsection}{\numberline {4.13.1.2}\setlength {\rightskip }{0pt plus 5cm}int main (void)}{30}{subsubsection.4.13.1.2}
\contentsline {subsubsection}{\numberline {4.13.1.3}\setlength {\rightskip }{0pt plus 5cm}void terminal (FILE $\ast $ {\em commercants}, \/ FILE $\ast $ {\em actions})}{30}{subsubsection.4.13.1.3}
\contentsline {section}{\numberline {4.14}/home/noxon/coding/C/esiee-in301/terminal.h File Reference}{31}{section.4.14}
\contentsline {subsection}{\numberline {4.14.1}Function Documentation}{31}{subsection.4.14.1}
\contentsline {subsubsection}{\numberline {4.14.1.1}\setlength {\rightskip }{0pt plus 5cm}void envoie\_\discretionary {-}{}{}ordre ()}{31}{subsubsection.4.14.1.1}
\contentsline {subsubsection}{\numberline {4.14.1.2}\setlength {\rightskip }{0pt plus 5cm}void terminal ()}{31}{subsubsection.4.14.1.2}
